#ifndef __SIGNALSLOTEDITORW_H_
#define __SIGNALSLOTEDITORW_H_

#include <QWidget>

class SignalSlotEditorW : public QWidget
{
    Q_OBJECT
    Q_CLASSINFO("ClassID", "{a184755f-8441-4485-8ae5-278f05a6fe87}")
    Q_CLASSINFO("InterfaceID", "{df006562-991f-4eb2-bfde-030fb1a74d03}")
    Q_CLASSINFO("EventsID", "{558bb40a-6a81-403d-9644-796850d88309}")
    Q_CLASSINFO("ToSuperClass", "SignalSlotEditorW")

public:
    SignalSlotEditorW(QWidget *parent = 0);
    ~SignalSlotEditorW();

    QSize minimumSize();
    static SignalSlotEditorW *instance();

public Q_SLOTS:
    QString pluginFailureString() const;
    bool initializeJambiPlugins(const QString &jambiBase, const QString &jambiPluginPath, const QString &customWidgetClassPath, const QString &resourcePath, const QString &jvm);
    void initialize();
    void updateCustomWidgetLocation(const QString &path);

protected:
    void resizeEvent(QResizeEvent *event);

private:
    QWidget *m_editor;
    uint m_initialized : 1;
    static SignalSlotEditorW *m_self;
};

#endif //__SIGNALSLOTEDITORW_H_
